﻿using System;

namespace CI.Organism
{
    public interface ISynapticConnection : IDisposable
    {
        /// <summary>
        /// Fire the synapse, notify it that a potential has arrived and the value
        /// </summary>
        void FireInput(long inputValue);

        /// <summary>
        /// Notify any attachments that the activation has fired with a value
        /// </summary>
        event Action<long> ActivationEvent;

        /// <summary>Syanpses GUID used to uniquely identify it in the neural system</summary>
        Guid Guid { get; }
    }
}